import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

import $C from '@/http/config.js';

import { postLogout, getConfig } from '@/http/api'

export default new Vuex.Store({
	state:{
		// 用户信息
		userinfo:{
			nickname:'请先登录',
			bio:'登录体验完整功能'
		},
		Config:{
			// 默认搜索提示文字
			searchPlaceholder:'请输入关键字搜索笔记'
		}
	},
	getters: {
		
	},
	actions:{
		// 初始化
		async initApp({state,dispatch},data){
			state.userinfo = uni.getStorageSync('userinfo')||{nickname:'请先登录',bio:'登录体验完整功能'}
			// 从服务器获取配置文件
			let config = await getConfig()
			state.Config = config.data
		},
		// 用户资料设置
		setUserInfo({state,dispatch},data){
			state.userinfo = data
			// 记录到缓存
			uni.setStorageSync('userinfo', data);
		},
		// 退出登录
		logout({state,dispatch},data){
			postLogout().then(res=>{
				if(res.code){
					state.userinfo = {nickname:'请先登录',bio:'登录体验完整功能'}
					// 记录到缓存
					uni.removeStorageSync('userinfo');
					return uni.redirectTo({
						url:'/pages/home/login'
					})
				}
			})
		}
	}
})